In current electronic printing systems when an original document such as a continuous tone photograph is scanned, digitized, and printed out by a high contrast printer, it is necessary to convert the continuous tone image into a bi-level or binary image by forming halftone cells whose size varies with the intensity of the original continuous tone image. This process is called halftoning or screening. However, the topology and characteristics of the halftone cells that comprise the screen that are used to convert the continuous tone image into a bi-level image affects the appearance of the final image. Further, selection of an appropriate screen for this purpose depends on the image original, the scanner, and the printer characteristics. Because of these variables, it is desirable to have a circuit that is flexible enough to generate screens of various topologies and characteristics.
In FIG. 1, a typical prior art screening circuit is shown. To generate a repetitive screen pattern, two counters 1 and 2, one counter for the row (X), the other for the column (Y), are used to index into a preprogrammed table 3 to sequentially access screen values. For each pixel, a pixel clock 4 increments X counter 1 to sequentially access the next location of the screen table 3. At some point in the sequence, X counter 1 will roll-over to zero and the sequence in that row of screen table 3 will be repeated. X counter 1 continues to roll-over until the end of one raster on the image is reached. At this point, scan clock 5 increments Y counter 2 to access the next row of the screen table. Within this row, X counter 1 sequential addresses the screen values as it did in the previous row. Row after row of screen table 3 is output until eventually the Y counter roll-over occurs. This starts the screen sequence from the beginning and the whole process is repeated for the entire image. In this design approach, if the X and Y roll-over counts are to be programmable, additional hardware will be required to reset them at the programmed count. In this approach the halftone cell must always be rectangular.
Variable angle screening, as described in U.S. Pat. No. 4,149,194 to Holladay suggests generation of a variable angle halftone pattern using a modified rectangular halftone pattern, with the introduction of a shift parameter. This screening method produces a desirable appearance, that the present invention seeks to duplicate with a hardware implementation. U.S. Pat. No. 3,900,834 to Casey et al discloses a system designed to accommodate the situation where data on a common subject is stored at different locations within a memory, with no predetermined relation between the various memory locations. When it is desired to update the data, a controller sends the update messages to a common address table containing the address of the entry to be updated, and a chain address for another entry in the table where additional data on the same subject is stored. In U.S. Pat. No. 4,419,662 to Puskas et al, a character generator is disclosed in which display data stored in a memory is addressed to a video display by means of an output latch providing latched outputs to the video display.